#ifndef _PARTHUS_USLC_SCHED_
#define _PARTHUS_USLC_SCHED_

#include "lc_types.h"

/******************************************************************************
 * MODULE NAME:    uslc_scheduler.h
 * PROJECT CODE:    BlueStream
 * DESCRIPTION:    Baseband Controller Module
 * MAINTAINER:     John Nelson, Conor Morris
 *
 * SOURCE CONTROL: $Id: uslc_scheduler.h,v 1.4 2009/12/16 02:27:19 tianwq Exp $
 *
 * LICENSE:
 *     This source code is copyright (c) 1999-2004 Ceva Inc.
 *     All rights reserved.
 *
 ******************************************************************************/

void USLCsched_Tx_Start(void);
void USLCsched_Rx_Start(void) ;
void USLCsched_Prepare_Tx(void);
void USLCsched_Tx_Complete(void);
void USLCsched_Process_Rx(void);
void USLCsched_Prepare_Rx(t_USLC_Frame_Activity frame);
void USLCsched_Initialise(void);

void USLCsched_Set_Next_Device_Link(t_devicelink *p_device_link, t_slots slots);

void USLCsched_Set_Next_Frame_Activity(t_USLC_Frame_Activity next_USLC_Frame_Activity);
t_USLC_Frame_Activity USLCsched_Get_Next_Frame_Activity(void);
t_USLC_Frame_Activity USLCsched_Get_Current_Frame_Activity(void);

t_devicelink* USLCsched_Get_Active_Device_Link(void);
t_devicelink* USLCsched_Get_Next_Device_Link(void);
void USLCsched_Set_Parameter(u_int8 safe4tim, u_int16 safe4prepare, u_int8 frames_per_segment);
void USLCsched_Set_Wifi_frames(u_int8 frame_for_wifi);
u_int8 USLCsched_Get_Frame_Flags(void);

typedef void (*t_soft_tports_filter)(void *activity, u_int8 index);
void USLCsched_Set_Tports_Filter(t_soft_tports_filter filter);

void USLCsched_Set_Software_Test_Values(u_int8 index);


#endif

